<?php
class UsuariosController extends AppController
{
	var $name = 'Usuarios';
	var $uses = array('Usuario','Bitacora','Perfil','Organizacion','Division','Almacen','Estado','Mensaje');
	var $helpers = array('Html','Form','Ajax','Javascript','Cargar');
	var $layout =  "ajax";
   
        
        
        function password()
	{

	}
        function guardar_password()
	{
        $d = $this->data;
        $cont = $this->name;
        $funt = 'guardar_password';
        $modelo = 'Usuario';
        
        
        
      $contrasena = $this->Usuario->find('first', array('conditions' => array("Usuario.id" => $this->Session->read('usuario_id'))));
       //$contrasena['Usuario']['clave'];
        
        if (empty($d['anterior']))
             $this->set('Error', "Es Indispensable la clave Anterior");
         //   $this->mensaje_error($cont, $funt, 'anterior');
         else if (empty($d['nueva']))
            $this->set('Error', "Es Indispensable la clave Nueva");
         else if (empty($d['repita']))
            $this->set('Error', "Es Indispensable Repetir la clave Nueva");
         else if ($d['nueva']!=$d['repita'])
            $this->set('Error', "Las Claves no Coinciden");
         else if ($this->con_clave($this->data['anterior'])!=$contrasena['Usuario']['clave'])
         $this->set('Error', "La Clave Anterior no Coincide con la suministrada");
         else if ($d['repita']==$contrasena['Usuario']['clave'])
         $this->set('Error', "La Clave no puede ser igual a la anterior");
      
         
         else{
       //  echo    $this->con_clave($this->data['anterior']).'<>'.$contrasena['Usuario']['clave'];
 
             
             
             
             
             
             
             
             
             
             
             
             
             
            $med = "Clave Modificada exitosamente!!!";
            $vald = "Modificar";
            $this->data = null;
            $this->$modelo->query('BEGIN  WORK');
            $this->data["$modelo"]["id"] = $this->Session->read('usuario_id');
            $this->data["$modelo"]["clave"] = $this->con_clave($d['repita']);
          
                if ($this->$modelo->save($this->data)) 
                {
                    $this->$modelo->query('COMMIT');
                     echo $this->Session->read('usuario_id') .'--------'. $modelo .'--------'.$vald;
                    $id = $this->$modelo->id;
                    if ($this->auditoria($id_, $modelo, $vald)) 
                    {
                    $this->$modelo->query('COMMIT');
                    $this->set('Exito', $med);
                    } 
                    else 
                     {
                       $this->$modelo->query('ROLLBACK');
                       $this->set('Error', 'Error Guardando bitacora');
                    }
     
                } else{
                       $this->$modelo->query('ROLLBACK');
                       $this->set('Error', 'Error Guardando Clave Usuario');
                    
                }
               /*     
                  $this->script($this->div('l'), $this->div('v')); //(1,0)

            if (empty($d['donde']))
                $this->set('donde', null);
            else
                $this->set('donde', $d['donde']);

            if (empty($d['busq']))
                $this->set('busq', null);
            else
                $this->set('busq', $d['busq']);
*/
            /*
            if ($d['busq'] != null)
                $this->buscador($d['donde'], $d['busq']);
            else {
                $this->ftodo('Funcionario','asignado',1);
            //    $this->listado();
                */
       /*  
               
           $asignado = $this->Asignacion->find('all', array('conditions' => array("Asignacion.estado" => 1)));
           $campo = array(); 
            for ($i = 0; $i < count($asignado); $i++) {
                    $campo[] = $asignado[$i]['Asignacion']['vehiculo_id'];
            }   
    
           $vehiculo=$this->Vehiculo->find('all', array('conditions' => array("Vehiculo.id" => $campo,"Vehiculo.estado" => 1)));
           $this->set('vehiculo', $vehiculo);
           $this->set('asignado', $asignado);
                
               
                */
                
                
         //       $this->render('/inicio/inicio');
         //   }   
 
             
                    
 }
 
        

	}
        
        
        function misdatos()
	{

	}
        
        
        
        
        
        
        
        
        
        

 	function funciones_ayuda()
	{
	echo $this->cadena();

	}
   	function inicio_empleado()
	{

	}
  	function inicio_admin()
	{

	}
	function inicio_super_admin()
	{

	}
	function derechos_de_autor()
	{

	}
	function departamento_lista()
	{
		
		$emp = $this->Departamento->find('list',array('fields'=> array('Departamento.id','Departamento.nombre'),'conditions'=>array('Departamento.estado'=>1), 'order'=>'Departamento.nombre'));
		$this->set('departamentolis',$emp);
	}
	function listado_usuario()
	{
		$this->set('tipo_usuario',$this->Session->read('tipo_usuario'));
		$did=$this->Session->read('departamento_id');
		if($this->Session->read('tipo_usuario')==2)
		{
			$uid=$this->Session->read('usuario_id');
			$d = $this->Usuario->find('all',array('conditions'=>array('Usuario.departamento_id'=>$did,'Usuario.estado'=>1), 'order'=>'Usuario.id'));
		}
		else if($this->Session->read('tipo_usuario')==1)
		{
			$d = $this->Usuario->find('all',array('conditions'=>array('Usuario.id >'=>0), 'order'=>'Usuario.id'));
		}
		else
		{
			$d = NULL;
		}
		$this->set('data',$d);
	}
	
	function nuevo_usuario()
	{
		$this->lista();


	//	$this->departamento_lista();
echo '<br />1 -'.$this->Session->read('tipo_usuario');
echo '<br />2 -'.$this->Session->read('departamento_id');
echo '<br />3 -'.$this->Session->read('departamento_nombre');

		$this->set('tipo_usuario',$this->Session->read('tipo_usuario'));
		$this->set('departamento_id',$this->Session->read('departamento_id'));
		$this->set('nombre_departamento',$this->Session->read('departamento_nombre'));





		echo"<script type=\"text/javascript\" language=\"javascript\">
			document.getElementById('listado_usuario').style.display='none';
			document.getElementById('nueva_usu').style.display='block';</script>";
	}
	
	function guardar_usuario()
	{
		$d=$this->data;

echo $d['perfil'];
	  $cont='Usuarios';	
		$funt='guardar_usuario';
		$modl='Usuario';

if($d['perfil']==4)
{

}







		if(empty($d['cedula'])) 
			$this->mensaje_error($cont,$funt,'cedula');
		else if(empty($d['nombre']))
      $this->mensaje_error($cont,$funt,'nombre');
		else if(empty($d['apellido']))
      $this->mensaje_error($cont,$funt,'apellido');
		else if(empty($d['usuario']))
      $this->mensaje_error($cont,$funt,'usuario');
		else if(empty($d['clave']))
      $this->mensaje_error($cont,$funt,'clave');
		else if(empty($d['clave2']))
      $this->mensaje_error($cont,$funt,'clave2');
		else if($d['clave']!=$d['clave2'])
      $this->mensaje_error($cont,$funt,'clave2_error_mensaje');
		else if(empty($d['perfil']))
      $this->mensaje_error($cont,$funt,'perfil');
		else if($d['perfil']==4 and empty($d['organizacion']))
			$this->mensaje_error($cont,$funt,'organizacion');
		else if($d['perfil']==4 and empty($d['division']))
			$this->mensaje_error($cont,$funt,'division');
		else if($d['perfil']==4 and empty($d['almacen']))
			$this->mensaje_error($cont,$funt,'almacen');
		else if($d['perfil']==3 and empty($d['organizacion']))
			$this->mensaje_error($cont,$funt,'organizacion');
		else if($d['perfil']==3 and empty($d['division']))
			$this->mensaje_error($cont,$funt,'division');
		else if($d['perfil']==2 and empty($d['organizacion']))
			$this->mensaje_error($cont,$funt,'organizacion');

		else
			{
echo '1234567890';
			


/*
estado
nombre
apellido
cedula
clave
usuario
organizacion_id
division_id
almacen_id
conectado
perfil_id
session
*/








						$this->data=null;
						$this->$modl->query('BEGIN  WORK');
						$this->data["$modl"]['estado']=1;
						$this->data["$modl"]['nombre']=$this->mayuscula($d['nombre']);
						$this->data["$modl"]['apellido']=$this->mayuscula($d['apellido']);
						$this->data["$modl"]['cedula']=$this->mayuscula($d['cedula']);
						$this->data["$modl"]['clave']=$this->con_clave($d['clave']);
						$this->data["$modl"]['usuario']=$this->mayuscula($d['usuario']);
						if($d['perfil']==2 or $d['perfil']==3 or $d['perfil']==4)
							$this->data["$modl"]['organizacion_id']=$d['organizacion'];
						if($d['perfil']==3 or $d['perfil']==4)
							$this->data["$modl"]['division_id']=$d['division'];
						if($d['perfil']==4)
							$this->data["$modl"]['almacen_id']=$d['almacen'];
						$this->data["$modl"]['perfil_id']=$d['perfil'];
						
						

			 			if ($this->$modl->save($this->data))
			 			{
							$id_=$this->$modl->id;
							$this->data['Bitacora']['usuario_id']=$this->Session->read('usuario_id');
							$this->data['Bitacora']['fecha']=$this->f_actual();
							$this->data['Bitacora']['hora']=date('h:i:s:a');
							$this->data['Bitacora']['accion']="Guardar";
							$this->data['Bitacora']['modelo']=$modl;
							$this->data['Bitacora']['accion_id']= $id_;
							if($this->Bitacora->save($this->data))
							{	
								$this->$modl->query('COMMIT');
								$this->set('Exito','Nuevo Usuario Registrado exitosamente!!!');

							}
							else
							{
								$this->$modl->query('ROLLBACK');
								$this->set('Error','Error Guardando bitacora');
							}
						}
						else
						{

							$this->$modl->query('ROLLBACK');
							$this->set('Error','Datos del Usuario no fueron guardados');
			 	   	}




/*

			echo"<script type=\"text/javascript\" language=\"javascript\">
						document.getElementById('listado').style.display='none';
						document.getElementById('vista').style.display='block';
					 </script>";
*/

/*
		$this->set('tipo_usuario',$this->Session->read('tipo_usuario'));
	//	$did=$this->Session->read('departamento_id');
		if($this->Session->read('tipo_usuario')==2)
		{
			$uid=$this->Session->read('usuario_id');
			$d = $this->Usuario->find('all',array('conditions'=>array('Usuario.departamento_id'=>$did,'Usuario.estado'=>1), 'order'=>'Usuario.id'));
		}
		else if($this->Session->read('tipo_usuario')==1)
		{
			$d = $this->Usuario->find('all',array('conditions'=>array('Usuario.id >'=>0), 'order'=>'Usuario.id'));
		}
		else
		{
			$d = NULL;
		}
		$this->set('data',$d);
			

*/
$this->set('id_',$id_);

echo'<script type="text/javascript" language="javascript">
				  // <![CDATA[
				      new Effect.Pulsate("listado_'.$id_.'")
				  // ]]>
                 </script>';
				//  new Effect.BlindDown("busca")
				// new Effect.Shake("busca")
				// new Effect.DropOut("busca")
				 // new Effect.Pulsate("busca")
				  // new Effect.toggle("busca")




					$this->listado_usuarios();
					$this->render('listado_usuarios');
	

					}
		
}









	function ver_datos_usuario($type=null,$id=null)
 	{
		$rs_datos = $this->Usuario->find('first',array('conditions' => array('Usuario.id' => $id)));
		$this->set('data',$rs_datos);
		$this->lista();
		$this->departamento_lista();
		$this->set('tipo_usuario',$this->Session->read('tipo_usuario'));
		$this->set('departamento_id',$this->Session->read('departamento_id'));
		$this->set('nombre_departamento',$this->Session->read('departamento_nombre'));
		echo"<script type=\"text/javascript\" language=\"javascript\">
			document.getElementById('listado_usuario').style.display='none';
			document.getElementById('nueva_usu').style.display='block';</script>";
		$this->set('type',$type);
 	}
	
	function guardar_modificar()
	{
		$d=$this->data;$valido=0;
		$this->data=null;
		if(empty($d['nombres']))
        {
	    	$this->set('Error','los nombres del usuario son obligatorios!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('nombres').focus()</script>";
        }
        else if(empty($d['apellidos']))
        {
	    	$this->set('Error','los apellidos del usuario son obligatorios!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('apellidos').focus()</script>";
        }
		else if(empty($d['cedula']))
        {
	    	$this->set('Error','la c&eacute;dula del usuario es obligatoria!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('cedula').focus()</script>";
        }
		else if(!$this->verifica_cedula_int($d['cedula'],$d['id_usuario']))
		{
			$this->set('Error','la c&eacute;dula del usuario ya esta registrada en el sistema');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('cedula').focus()</script>";
		}
		else if(empty($d['telefono']))
        {
	    	$this->set('Error','el telefono del usuario es obligatorio!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('telefono').focus()</script>";
        }
		else if(empty($d['direccion']))
        {
        	$this->set('Error','la direccion del usuario es obligatoria!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('direccion').focus()</script>";
        }
		else if(empty($d['departamento_id']))
        {
        	$this->set('Error','el departamento al que pertenece el usuario es obligatorio!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('departamento_id').focus()</script>";
        }
		else
		{
			$valido=1;
		}
		
		if(!empty($d['modificar_usuario']) && $d['modificar_usuario']==1)
        {
			$valido=0;
			if(empty($d['usuario']))
			{
				$this->set('Error','el usuario es obligatorio!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('usuario').focus()</script>";
			}
			else if(empty($d['claveante']))
			{
				$this->set('Error','debe Indicar su clave de acceso anterior!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claveante').focus()</script>";
			}
			else if($this->con_clave($d['claveante']) != $d['claveanteoculta'])
			{
				$this->set('Error','la contrase&ntilde;a Anterior es Erronea verifiquela');
            	echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claveante').focus()</script>";
			}
			else if(empty($d['claves']))
			{
				$this->set('Error','la contrase&ntilde;a del usuario es obligatoria!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claves').focus()</script>";
			}
			else if(empty($d['rclave']))
			{
				$this->set('Error','debe repetir la contrase&ntilde;a del usuario!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('rclave').focus()</script>";
			}
			else if($this->con_clave($d['claves']) != $this->con_clave($d['rclave']))
			{
				$this->set('Error','las contrase&ntilde;as no coinciden verifiquelas');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claves').focus()</script>";
			}
			else if(empty($d['tipo']))
			{
				$this->set('Error','el tipo de usuario es obligatorio!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('tipo').focus()</script>";
			}
			else
			{
				$valido=1;
				$this->data['Usuario']['usuario']=$this->mayuscula($d['usuario']);
				$this->data['Usuario']['clave']=$this->con_clave($d['claves']);
				$this->data['Usuario']['tipo']=$d['tipo'];
			}
		}
		
		
		if($valido==1)
		{
			$this->Usuario->query('BEGIN  WORK');
			$this->data['Usuario']['id']=$d['id_usuario'];
			$this->data['Usuario']['cedula']=$d['cedula'];
			$this->data['Usuario']['nombres']=$d['nombres'];//$this->mayuscula($d['nombres']);
			$this->data['Usuario']['apellidos']=$d['apellidos'];//$this->mayuscula($d['apellidos']);
			$this->data['Usuario']['telefono']=$d['telefono'];
			$this->data['Usuario']['direccion']=$d['direccion'];//$this->mayuscula($d['direccion']);
			$this->data['Usuario']['correo']=$d['correo'];
			$this->data['Usuario']['departamento_id']=$d['departamento_id'];
			
			if ($this->Usuario->save($this->data))
			{
				$id_usuario=$this->Usuario->id;
				$this->data['Bitacora']['usuario_id']=$this->Session->read('usuario_id');
				$this->data['Bitacora']['fecha']=$this->f_actual();
				$this->data['Bitacora']['hora']=date('h:i:s:a');
				$this->data['Bitacora']['accion']="Modificar";
				$this->data['Bitacora']['modelo']='Usuario';
				$this->data['Bitacora']['accion_id']= $id_usuario;
				if($this->Bitacora->save($this->data))
				{		
					$this->Usuario->query('COMMIT');
					$this->set('Exito','datos del usuario modificados exitosamente!!!');
					echo"<script type=\"text/javascript\" language=\"javascript\">
			document.getElementById('listado_usuario').style.display='block';
			document.getElementById('nueva_usu').style.display='none';</script>";
				}
				else
				{
					$this->Usuario->query('ROLLBACK');
					$this->set('Error','Error Guardando bitacora');
				}
			}
			else
			{
				$this->Usuario->query('ROLLBACK');
				$this->set('Error','Datos del usuario no fueron guardados');
			}
		}
		$this->listado_usuario();
		$this->render('listado_usuario');
	}
	
	function desconectar($id=null)
	{
		$this->data=null;
		$this->data['Usuario']['id'] = $id;
		$this->data['Usuario']['conectado'] = 0;
		$this->Usuario->save($this->data);
		$this->set('Exito',"Usuario Desconectado exitosamente");
		$this->listado_usuario();
		$this->render('listado_usuario');
	}
	
	function restaurar_clave($id=NULL)
	{
		$this->data=NULL;
		$this->Usuario->query('BEGIN  WORK');	
		$this->data['Usuario']['id']=$id;
		$this->data['Usuario']['clave']=$this->con_clave('12');
		if($this->Usuario->save($this->data))
		{
			$this->data=null;
			$this->data['Bitacora']['usuario_id']=$this->Session->read('usuario_id');
			$this->data['Bitacora']['fecha']=$this->f_actual();
			$this->data['Bitacora']['hora']=date('h:i:s:a');
			$this->data['Bitacora']['accion']='Restaurar Clave';
			$this->data['Bitacora']['modelo']='Usuario';
			$this->data['Bitacora']['accion_id']= $id;
			if($this->Bitacora->save($this->data))
			{
				$this->Bitacora->query('COMMIT');
				$this->set('Exito','contrase&ntilde;a restaurada exitosamente');
			}
			else
			{
				$this->set('Error','Error al Registrar la bitacora');
				$this->Bitacora->query('ROLLBACK');
			}
 		}
		else
		{
			$this->set('Error','Restauraci&oacute; de clave fallida intente de nuevo');
		}
		$this->listado_usuario();
		$this->render('listado_usuario');
	}
	function act_des_usuario($est,$id)
	{
		if(isset($id))
		{
			if($est==1)
			{
				$est = 0;$accion='Desactivar';
				$msj="Usuario desactivado sastifactoriamente";
			}
			else
			{
				$est = 1;$accion='Activar';
				$msj="Usuario activado sastifactoriamente";
			}
			$this->Usuario->query('BEGIN  WORK');	
			$this->data['Usuario']['id']= $id;
			$this->data['Usuario']['estado']=$est;
			if($this->Usuario->save($this->data))
			{
				$this->data=null;
				$this->data['Bitacora']['usuario_id']=$this->Session->read('usuario_id');
				$this->data['Bitacora']['fecha']=$this->f_actual();
				$this->data['Bitacora']['hora']=date('h:i:s:a');
				$this->data['Bitacora']['accion']=$accion;
				$this->data['Bitacora']['modelo']='Usuario';
				$this->data['Bitacora']['accion_id']= $id;
				if($this->Bitacora->save($this->data))
				{
					$this->Bitacora->query('COMMIT');
					$this->set('Exito',$msj);
				}
				else
				{
					$this->set('Error','Error al Registrar la bitacora');
					$this->Bitacora->query('ROLLBACK');
				}
			}
			else
			{
				$this->set('Error','ha ocurrido un error intente nuevamente!!');
				$this->Bitacora->query('ROLLBACK');
			}
		}
		$this->listado_usuario();
		$this->render('listado_usuario');
	}
	
	function borrar_usuario($id=NULL)
	{
		if(isset($id))
		{
			if(!$this->tiene_bitacora($id))
			{
				if($this->Usuario->del($id)) $this->set('Exito','usuario eliminado exitosamente!!!');
				else $this->set('Error','ha ocurrido un error al eliminar funcionario!!!');
			}
			else $this->set('Error','usuario posee historial asociado, no se puede eliminar');
		}
		$this->listado_usuario();
		$this->render('listado_usuario');
	}
	
	function mi_cuenta()
	{
		$this->ver_datos_usuario('false',$this->Session->read('usuario_id'));
   }

	function guardar_modificar_mi_cuenta()
	{
		$d=$this->data;$valido=0;
		$this->data=null;
		echo "llamo";
		if(empty($d['nombres']))
        {
	    	$this->set('Error','los nombres del usuario son obligatorios!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('nombres').focus()</script>";
        }
        else if(empty($d['apellidos']))
        {
	    	$this->set('Error','los apellidos del usuario son obligatorios!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('apellidos').focus()</script>";
        }
		else if(empty($d['cedula']))
        {
	    	$this->set('Error','la c&eacute;dula del usuario es obligatoria!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('cedula').focus()</script>";
        }
		else if(!$this->verifica_cedula_int($d['cedula'],$d['id_usuario']))
		{
			$this->set('Error','la c&eacute;dula del usuario ya esta registrada en el sistema');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('cedula').focus()</script>";
		}
		else if(empty($d['telefono']))
        {
	    	$this->set('Error','el telefono del usuario es obligatorio!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('telefono').focus()</script>";
        }
		else if(empty($d['direccion']))
        {
        	$this->set('Error','la direccion del usuario es obligatoria!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('direccion').focus()</script>";
        }
		else if(empty($d['departamento_id']))
        {
        	$this->set('Error','el departamento al que pertenece el usuario es obligatorio!!!');
            echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('departamento_id').focus()</script>";
        }
		else
		{
			$valido=1;
		}
		
		if(!empty($d['modificar_usuario']) && $d['modificar_usuario']==1)
        {
			$valido=0;
			if(empty($d['usuario']))
			{
				$this->set('Error','el usuario es obligatorio!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('usuario').focus()</script>";
			}
			else if(empty($d['claveante']))
			{
				$this->set('Error','debe Indicar su clave de acceso anterior!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claveante').focus()</script>";
			}
			else if($this->con_clave($d['claveante']) != $d['claveanteoculta'])
			{
				$this->set('Error','la contrase&ntilde;a Anterior es Erronea verifiquela');
            	echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claveante').focus()</script>";
			}
			else if(empty($d['claves']))
			{
				$this->set('Error','la contrase&ntilde;a del usuario es obligatoria!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claves').focus()</script>";
			}
			else if(empty($d['rclave']))
			{
				$this->set('Error','debe repetir la contrase&ntilde;a del usuario!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('rclave').focus()</script>";
			}
			else if($this->con_clave($d['claves']) != $this->con_clave($d['rclave']))
			{
				$this->set('Error','las contrase&ntilde;as no coinciden verifiquelas');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('claves').focus()</script>";
			}
			else if(empty($d['tipo']))
			{
				$this->set('Error','el tipo de usuario es obligatorio!!!');
				echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('tipo').focus()</script>";
			}
			else
			{
				$valido=1;
				$this->data['Usuario']['usuario']=$this->mayuscula($d['usuario']);
				$this->data['Usuario']['clave']=$this->con_clave($d['claves']);
				$this->data['Usuario']['tipo']=$d['tipo'];
			}
		}
		
		
		if($valido==1)
		{
			$this->Usuario->query('BEGIN  WORK');
			$this->data['Usuario']['id']=$d['id_usuario'];
			$this->data['Usuario']['cedula']=$d['cedula'];
			$this->data['Usuario']['nombres']=$d['nombres'];//$this->mayuscula($d['nombres']);
			$this->data['Usuario']['apellidos']=$d['apellidos'];//$this->mayuscula($d['apellidos']);
			$this->data['Usuario']['telefono']=$d['telefono'];
			$this->data['Usuario']['direccion']=$d['direccion'];//$this->mayuscula($d['direccion']);
			$this->data['Usuario']['correo']=$d['correo'];
			$this->data['Usuario']['departamento_id']=$d['departamento_id'];
			
			if ($this->Usuario->save($this->data))
			{
				$id_usuario=$this->Usuario->id;
				$this->data['Bitacora']['usuario_id']=$this->Session->read('usuario_id');
				$this->data['Bitacora']['fecha']=$this->f_actual();
				$this->data['Bitacora']['hora']=date('h:i:s:a');
				$this->data['Bitacora']['accion']="Modificar";
				$this->data['Bitacora']['modelo']='Usuario';
				$this->data['Bitacora']['accion_id']= $id_usuario;
				if($this->Bitacora->save($this->data))
				{		
					$this->Usuario->query('COMMIT');
					$this->set('Exito','datos del usuario modificados exitosamente!!!');
				}
				else
				{
					$this->Usuario->query('ROLLBACK');
					$this->set('Error','Error Guardando bitacora');
				}
			}
			else
			{
				$this->Usuario->query('ROLLBACK');
				$this->set('Error','Datos del usuario no fueron guardados');
			}
		}
		$this->render('../solicitudes/mensaje');
	}
	
	function verifica_cedula_int ($m, $id=NULL) 
	{
		$res=true;
		if(isset($id)) $cond= "Usuario.id <> $id and Usuario.cedula =$m";
		else $cond= "Usuario.cedula =$m";
     	$RS=$this->Usuario->findCount($cond);
		if($RS>0) $res=false;
		return $res;
	}
	function verifica_usuario_int ($m, $id=NULL) 
	{
		$m= $this->mayuscula($m);
		$res=true;
		if(isset($id)) $cond= "Usuario.id <> $id and UPPER(Usuario.usuario) ='$m'";
		else $cond= "UPPER(Usuario.usuario) ='$m'";
     	$RS=$this->Usuario->findCount($cond);
		if($RS>0) $res=false;
		return $res;
	}
	
	function tiene_bitacora($id)
	{
		$b = $this->Bitacora->find('first',array('conditions' => array('Bitacora.usuario_id'=> $id),'fields'=>array('Bitacora.id')));
		if(isset($b['Bitacora']['id']) and $b['Bitacora']['id']>0) $res=1;
		else $res=0;
		return $res;
	}
	function cerrar($id=null)
	{
 		echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('guardarfun').style.display='none';
			 document.getElementById('buscar').style.display='block';</script>";
		$this->render('mensaje');
 	}
	function cerrarespe($id=null)
	{
 		echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('guardarespe').style.display='none';
			 document.getElementById('buscar').style.display='block';</script>";
		$this->render('mensaje');
 	}

 
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////


 	function listado()
	{
		$data=$this->all('Usuario');
		$this->set('data',$data);
		$this->script($this->div('v'),$this->div('l'));//(1,0)
 	}
	function modificar($id=null)
	{
		$data = $this->Usuario->find('first',array('conditions'=>array('Usuario.id'=>$id)));
		$this->set('data',$data);
		$this->script($this->div('l'),$this->div('v'));//(1,0)
	}
	function activar($id)
	{
		//$this->script($this->div('v'),$this->div('l'));//(1,0)
		$valor=$this->consulta($id, 'Usuario', 'estado');
	  	$this->actualizar_estado($id, 'Usuario', $valor);
		$data=$this->all('Usuario');
		$this->set('data',$data);
		$this->listado();
		$this->render('listado');
	}
	function nuevo()
	{
 		$this->lista();
		$this->set('perfil',$this->findlist('Perfil'));
		$this->script($this->div('l'),$this->div('v'));//(1,0)
	}
	function asignar_perfil($perfil=null)
	{
		$this->set('perfil',$perfil);
		$this->set('organizacion',$this->findlist('Organizacion'));
		$this->set('division',$this->findlist('Division'));
		$this->set('almacen',$this->findlist('Almacen'));
	}





















}
